package com.zxw.设计模式.行为型模式.观察者模式.简单实现.被观察者;

import com.zxw.设计模式.行为型模式.观察者模式.简单实现.观察者.Observer;

/**
 * @projectName: util-cloud
 * @package: com.zxw.设计模式.行为型模式.观察者模式.简单实现.被观察者
 * @className: Subject
 * @author: zhangxuewei
 * @description: 被观察者
 * @date: 2023/10/7 14:45
 * @version: 1.0
 */
public interface Subject {

    /**
     * 建立关系
     *
     * @param observer
     */
    void attach(Observer observer);

    /**
     * 解除关系
     *
     * @param observer
     */
    void detach(Observer observer);

    /**
     * 通知观察者
     *
     * @param status
     */
    void notifyObserver(String status);
}
